﻿
namespace Huirui.Cavan.Presentation.Seedwork
{
    using System;
    using System.Collections.Generic;
    using System.Diagnostics.Contracts;
    using System.Linq;
    using Huirui.Cavan.Core.Message;

    /// <summary>
    ///     ICoreModel is the base class for any object used on MVC layer as a Model.
    ///     ModelFactory will also create only instances of this type (derived models), 
    ///     to assure that is not used for other types (e.g. Dao, Facade).
    ///     ICoreModel provides the basic feature of the framework: IList&lt;Messages&gt;.
    ///     This collection can be filled on Business layer (Facade) with the business evaluation results;
    ///     And on Controller layer, to handle incorrect requests.
    /// </summary>
    public interface ICoreModel : IMessagesHolder { }
}